package com.yzc.model.entity.ticket_order;


import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
* 支付信息表
* @TableName order_payment
*/
@Data
public class OrderPayment implements Serializable {

    /**
     * 自增支付流水ID
     */
    @NotNull(message = "[自增支付流水ID]不能为空")
    private Long paymentId;
    /**
     * 关联主订单ID
     */
    @NotNull(message = "[关联主订单ID]不能为空")
    private Long orderId;
    /**
     * 实际支付金额
     */
    @NotNull(message = "[实际支付金额]不能为空")
    private BigDecimal amount;
    /**
     * 支付渠道:alipay/wechatpay/bank
     */
    @NotBlank(message = "[支付渠道:alipay/wechatpay/bank]不能为空")
    @Size(max = 20, message = "编码长度不能超过20")
    private String channel;
    /**
     * 支付状态:1-成功 2-失败 3-已退款
     */
    @NotNull(message = "[支付状态:1-成功 2-失败 3-已退款]不能为空")
    private Integer status;
    /**
     * 第三方支付交易号
     */
    @NotBlank(message = "[第三方支付交易号]不能为空")
    @Size(max = 50, message = "编码长度不能超过50")
    private String transactionNo;
    /**
     * 支付记录创建时间
     */
    @NotNull(message = "[支付记录创建时间]不能为空")
    private Date createTime;

}
